import { getMedifoodClassifications } from '../../Service/ClassificationService';
import { fetchAllMedifoodDetails,fetchMedifoodDetails } from '../../Service/CategoryService';

Page({
  data: {
    indicatorDots: true,
    autoplay: true,
    circular: true,
    vertical: false,
    interval: 5000,
    duration: 500,
    previousMargin: 1,
    nextMargin: 1,
    background: [
      'https://img.tukuppt.com/ad_preview/00/38/20/5fec1d0273fc8.jpg!/fw/780',
      'https://img95.699pic.com/photo/40179/2367.jpg_wh300.jpg',
      'https://pic.nximg.cn/file/20191128/4058904_222938123082_2.jpg'
    ],
    Medifood_case_classification: [], // 药膳分类
    allHC: [], // 全部药膳样例
    chooseKind: "660bc1389517b8cc4409ebb7",
    resKind: [], // 药膳分类结果表
    medifood: [], // 存储搜索结果
    searchInput: '', // 用于存储输入框的值
  },

  // 处理输入框输入事件
  onSearchInput(e) {
    this.setData({
      searchInput: e.detail.value
    });
  },

  // 搜索框确认
onSearchConfirm() {
  console.log("确认搜索，输入值:", this.data.searchInput);
  if (!this.data.searchInput) {
    console.warn("搜索输入值为空，请输入搜索条件");
    return; // 如果输入值为空，不执行后续操作
  }

  // 创建搜索条件
  const searchConditions = [
    {
      selectedOption: '药膳名称', // 按药膳名称进行搜索
      value: this.data.searchInput
    }
  ];

  // 调用查询函数并处理结果
  fetchMedifoodDetails(searchConditions)
    .then(results => {
      console.log('搜索结果:', results);
      this.setData({ medifood: results }); // 更新数据

      //queryParams用于将搜索条件作为参数附加到 URL 中，可以在导航到搜索结果页面时传参。
      //value0 是编码后的搜索输入值。
      const queryParams = `selectedOption0=药膳名称&value0=${encodeURIComponent(this.data.searchInput)}`;
      //encodeURIComponent用于将字符串中的特殊字符（如空格、&、= 等）转换为 URL 编码格式
      console.log('查询结果：',queryParams);
      
      
      wx.navigateTo({
        url: `/Not-tabbar/Search-List/Search-List?${queryParams}`
      });
    })
    .catch(error => {
      console.error('搜索失败:', error);
    });
},


  handleInputConfirm(e) {
    const value = e.detail.value;
    console.log(value); 
  },

  async onLoad(option) {
    try {
      await this.loadData(); // 加载页面数据
    } catch (error) {
      console.error('加载页面数据失败:', error);
    }
  },

  async onShow() {
    try {
      await this.loadData(); // 页面显示时重新加载数据
    } catch (error) {
      console.error('加载页面数据失败:', error);
    }
  },

  async loadData() {
    const [mediclassify, medifoodDetails] = await Promise.all([
      getMedifoodClassifications(),
      fetchAllMedifoodDetails()
    ]);

    this.setData({
      Medifood_case_classification: mediclassify,
      allHC: medifoodDetails
    });

    this.loadHC(); // 加载分类药膳数据
  },

  onSwitchKind(e) {
    const nowKindId = e.currentTarget.dataset.id;
    this.setData({ chooseKind: nowKindId });
    this.loadHC();
  },

  loadHC() {
    const nowKindId = this.data.chooseKind;
    const filteredHC = this.data.allHC.filter(item => item.classification_id === nowKindId);
    this.setData({ resKind: filteredHC });
  },
});
